﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace LI4
{
    public partial class criarAnuncio : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Text1.Value == "")
            {
                areaLB.Items.Clear();
                localidadeLB.Items.Clear();
                Data.Distrito dist = new Data.Distrito();
                ArrayList distritos = dist.getDistritos();

                foreach (Business.Distrito distrito in distritos)
                    distritosLB.Items.Add(distrito.Nome);

                Data.Localidade local = new Data.Localidade();
                ArrayList localidades = local.getLocalidadesDistrito(dist.getDistritoNome(distritosLB.SelectedItem.Text).CodDistrito);

                foreach (Business.Localidade localidade in localidades)
                    localidadeLB.Items.Add(localidade.Nome);

                Data.Area areap = new Data.Area();
                ArrayList areas = areap.getAreas();

                foreach (Business.Area area in areas)
                    areaLB.Items.Add(area.Nome);
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string local_tb = localidadeLB.SelectedItem.Text;
            string area_tb = areaLB.SelectedItem.Text;

            string descricao_tb = descricaoTB.Text;

            string codpostal1 = codpostalTB.Text;
            string codpostal2 = codpostalTB1.Text;

            string codpostal = codpostal1 + codpostal2;

            string morada = Text1.Value;

            Data.Area areac = new Data.Area();
            Business.Area area = new Business.Area(areac.getAreaNome(area_tb));
            Data.Localidade localidadec = new Data.Localidade();
            Business.Localidade local = new Business.Localidade(localidadec.getLocalidadeNome(local_tb));
            int cod = 1;

            string latitute = click_lat.Value;
            string longitude = click_long.Value;
            try
            {
                int codP = Int32.Parse(codpostal);
            }
            catch
            {
                cod = 0;
            }

            if (descricao_tb.Length < 1) Response.Write("<script>alert('Campo Descricao Invalido')</script>");
            else if (morada.Length < 1) Response.Write("<script>alert('Campo morada invalido')</script>");
            else if (cod == 0) Response.Write("<script>alert('Campo código postal inválido')</script>");
            else
            {
                Business.Anuncio anuncio = new LI4.Business.Anuncio(0, area, Program.Login.Username, descricao_tb, morada, local, codpostal, latitute, longitude);
                int success = Business.GerirAnuncios.inserir(anuncio);
                if (success == Data.Ligacao.DBERROR)
                    Response.Write("<script>alert('Ocorreu um erro')</script>");
                else
                {
                    Response.Write("<script>alert('Anúncio inserido no sistema')</script>");

                }
            }

        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            Text1.Value += " , " + localidadeLB.SelectedItem.ToString();
        }
    }
}
